package com.supplychain.scm.core.rocketmq.bean;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 
 * 
 * @author LY
 * @email 249007302@qq.com
 * @date 2022-08-04 14:42:55
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BaseMqMessage implements Serializable {

	private static final long serialVersionUID = -2447965265868321917L;
	/**
	 * 是否落库
	 */
	private Boolean notSave;
	/**
	 * 是否为同步 true - 同步发送消息 ； false - 异步发送消息
	 */
	private Boolean ifSync;
	/**
	 * 主题
	 */
	private String topic;
	/**
	 * 标签
	 */
	private String tag;
	/**
	 * 消息体
	 */
	private String message;
	/**
	 * 超时时间
	 */
	private Long timeout;
	/**
	 * hashKey
	 */
	private String hashKey;

	/**
	 * mq 发送状态
	 * 发送成功:SEND_OK
	 */
	private String status;
	/**
	 * 业务消息唯一标识key
	 */
	private String uniqueKey;
	/**
	 * msgId
	 */
	private String msgId;
	/**
	 * 消息链路ID
	 */
	private String messageLinkId;
	/**
	 * 来源
	 * example = "admin|job|api"
	 */
	private String origin;
	/**
	 * 异常信息
	 */
	private String error;
	/**
	 * 是否存储
	 */
	private Boolean ifStore;
}
